//1.引包
const express=require('express');
const expressStatic=require('express-static');
const slideRouter=require('./routers/slide');
const dbConnect=require('./utils/db/mongodbConnect');
const userRouter=require('./routers/user');
const bodyParser=require('body-parser');
const cookieParser=require('cookie-parser');
const cookieSession=require('cookie-session');
const viewRouter=require('./routers/views');
const childRouter=require('./routers/child');
const heRouter=require('./routers/he');
const sheRouter=require('./routers/she');
const mobRouter=require('./routers/mob');

//2。创建服务
var app=express();

app.listen(8080,function (err) {
    if (!err){
        console.log('SUCCESS!!');
    }else {
        console.log('app IS ERROR!!');
    }
});

//开启数据库
dbConnect.dbConnect();
//启用body-parser
app.use(bodyParser.urlencoded({extend:true}));
//启用cookie
var keys=[];
for (var i=0;i<1000;i++){
    var str='abcd133%%^&'+Math.random(1000000);
    keys.push(str);
}
app.use(cookieParser());
app.use(cookieSession({
    name:'shopOnline',
    keys:keys,
    maxAge:20*60*1000
}));
//启用路由
app.use('/slide',slideRouter.router);
app.use('/user',userRouter.router);
app.use('/views',viewRouter.router);
app.use('/child',childRouter.router);
app.use('/he',heRouter.router);
app.use('/she',sheRouter.router);
app.use('/mob',mobRouter.router);
// 起启页
app.use('/',function (req,res,next) {
    var options = {
        root: __dirname + '/www/',
        dotfiles: 'deny',
        headers: {
            'x-timestamp': Date.now(),
            'x-sent': true
        }
    };
    var url=req.url;
    // console.log(url);
    // console.log(url.lastIndexOf('/')+'-----------'+url.length);
    //根文件夹与非根文件夹操作
    if (url.indexOf('/') == 0 && url.length > 1){
        next();
    }else{
        res.sendFile('index.html',options,function (err) {
            if (err){
                console.log('index.html is error!!');
                }
            });
        }
    })

//静态页面的访问
app.use(expressStatic('./www'));